package com.itheima.app.manager.pmsManager;


import com.itheima.commons.PageBean;
import com.itheima.commons.R;
import com.itheima.domain.db.pms.PmsProductAttributeCategory;
import com.itheima.domain.db.pms.PmsProductCategory;
import com.itheima.service.pmsService.PmsProductCategoryService;
import com.itheima.service.pmsService.ProductAttributeCategoryService;
import com.itheima.vo.pms.PmsProductCategoryVo;
import com.itheima.vo.pms.ProductAttributeCategoryVo;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public class ProductAttributeCategoryManager {

    @DubboReference
    ProductAttributeCategoryService productAttributeCategoryService;

    @DubboReference
    PmsProductCategoryService productCategoryService;


    public R add(PmsProductAttributeCategory productAttributeCategory) {

        productAttributeCategoryService.add(productAttributeCategory);

        return R.ok(null);
    }

    public R delete(Integer id) {
        productAttributeCategoryService.delete(id);
        return R.ok(null);
    }

    public R getPageList(Integer pageNum, Integer pageSize) {

        PageBean<PmsProductAttributeCategory> page = productAttributeCategoryService.getPageList(pageNum,pageSize);

        return R.ok(page);
    }

    public List<ProductAttributeCategoryVo> categoryListWithAttr() {
        List<ProductAttributeCategoryVo> list = productAttributeCategoryService.categoryListWithAttr();
        return list;
    }

    public void updateProduct(PmsProductCategory productCategory, Integer id) {
        productAttributeCategoryService.updateProduct(productCategory, id);
    }

    public PmsProductCategory getProduct(Integer id) {
        PmsProductCategory productCategory = productAttributeCategoryService.getProduct(id);
        return productCategory;

    }

    public R addProductCategory(PmsProductCategoryVo pmsProductCategoryVo) {

        productCategoryService.addProductCategory(pmsProductCategoryVo);

        return R.ok(null);
    }
}
